{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ROCAnalysis"
      ]
     },
     "execution_count": 1,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# include(\"src/ROCAnalysis.jl\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "collapsed": false
   },
   "outputs": [],
   "source": [
    "using ROCAnalysis"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This package analyses the results of a probabilistic binary classifier.  We'll assume that the classifier generates scores that tend to be higher towards the \"target\" class, and lower towards the \"non-target\" class.  \n",
    "\n",
    "In this notebook we will simulate the scores, by generating them from two separate distributions.  We'll do this in a way that the scores can be considered _well-calibrated log-likelihood-ratio_ scores, i.e., the scores are supposed to be probabilistically interpretable as llr $\\ell$\n",
    "\n",
    "$$\\ell = \\log \\dfrac{P({\\rm data} \\mid {\\rm target})}{P({\\rm data} \\mid {\\rm nontarget})}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "100000-element Array{Float64,1}:\n",
       " -3.65865 \n",
       "  0.111599\n",
       "  0.378915\n",
       " -4.8397  \n",
       " -3.57974 \n",
       " -3.60667 \n",
       " -2.83765 \n",
       " -3.09525 \n",
       " -0.88947 \n",
       " -0.538918\n",
       " -0.847828\n",
       " -1.00992 \n",
       " -3.0787  \n",
       "  ⋮       \n",
       " -1.33932 \n",
       " -2.02718 \n",
       " -5.81056 \n",
       " -0.525173\n",
       " -5.38597 \n",
       " -4.12203 \n",
       " -3.7793  \n",
       " -0.844421\n",
       " -1.87812 \n",
       " -0.223619\n",
       " -2.43359 \n",
       " -0.560365"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## Produce some well-calibrated log-likelihood-ratio scores for target and non-target class:\n",
    "tar =  2 + 2randn(1000)\n",
    "non = -2 + 2randn(100000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "These scores are well-calibrated, because their distribution follows the defining property\n",
    "\n",
    "$$\\ell = \\log \\dfrac{P(\\ell \\mid {\\rm target})}{P(\\ell \\mid {\\rm nontarget})}$$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.15815000000176976"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## quick estimate of equal error rate, should be close to pnorm(-1) = 0.5 + 0.5erf(-1/√2)\n",
    "eer(tar, non) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The equal error rate is an important one-valued summary of the ROC curve (see below for a plot).  It is the point at which falso positive and false negative rates are the same. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.15865525393145707"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pnorm(-1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For the score generated above from a Gaussian distribution, we can derive the theoretical EER quite easily.  It is related to the quantile function of the normal distribution.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ROCAnalysis.Roc{Float64}([1.0,0.964,0.964,0.8508,0.8508,0.73922,0.73922,0.69712,0.69712,0.68447  …  5.0e-5,5.0e-5,3.0e-5,3.0e-5,2.0e-5,2.0e-5,1.0e-5,1.0e-5,0.0,0.0],[0.0,0.0,0.001,0.001,0.002,0.002,0.003,0.003,0.004,0.004  …  0.982,0.984,0.984,0.985,0.985,0.987,0.987,0.995,0.995,1.0],Bool[true,true,false,true,false,true,false,true,false,false  …  false,false,false,false,false,false,true,false,true,true],[-10.7113,-5.57892,-5.57876,-4.07145,-4.07142,-3.28102,-3.28091,-3.02784,-3.0277,-2.95507  …  6.01045,6.05454,6.13288,6.15789,6.18196,6.21583,6.42813,6.45797,6.98265,7.13642],[-Inf,-4.72916,-4.72916,-4.71474,-4.71474,-3.74005,-3.74005,-2.8739,-2.8739,-2.8739  …  5.54344,5.54344,5.54344,5.54344,5.54344,5.54344,5.54344,6.68461,6.68461,Inf])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## compute full ROC statistics\n",
    "r = roc(tar, non)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Admittedly not pretty printed---but we can call in the help from `DataFrames` to undestand the data structure of a `Roc` object\n",
    "\n",
    " - `pfa` the false alarm rate\n",
    " - `pmiss` the miss rate\n",
    " - `thres` the thereshold, separating this line's `pfa` and `pmiss` from the next\n",
    " - `chull` indicating if this point is on the convex hull of the ROC curve\n",
    " - `llr` the optimal log-likelihood-ratio score for all data points contributing to the ROC line segment from this line to the next\n",
    "\n",
    "The last entry, `llr`, corresponds to the negative slope of the ROC convex hull, and has a direct relation to the \"minimum\" versions of the various metrics below. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"data-frame\"><tr><th></th><th>pfa</th><th>pmiss</th><th>thres</th><th>chull</th><th>llr</th></tr><tr><th>1</th><td>1.0</td><td>0.0</td><td>-10.711334863947837</td><td>true</td><td>-Inf</td></tr><tr><th>2</th><td>0.964</td><td>0.0</td><td>-5.578924344835429</td><td>true</td><td>-4.729156165769083</td></tr><tr><th>3</th><td>0.964</td><td>0.001</td><td>-5.578760545269962</td><td>false</td><td>-4.729156165769083</td></tr><tr><th>4</th><td>0.8508</td><td>0.001</td><td>-4.071446506828367</td><td>true</td><td>-4.714741822417382</td></tr><tr><th>5</th><td>0.8508</td><td>0.002</td><td>-4.071422418269238</td><td>false</td><td>-4.714741822417382</td></tr><tr><th>6</th><td>0.73922</td><td>0.002</td><td>-3.281023040359016</td><td>true</td><td>-3.740047740688336</td></tr><tr><th>7</th><td>0.73922</td><td>0.003</td><td>-3.280912541319257</td><td>false</td><td>-3.740047740688336</td></tr><tr><th>8</th><td>0.69712</td><td>0.003</td><td>-3.027839712052299</td><td>true</td><td>-2.8739035651888574</td></tr><tr><th>9</th><td>0.69712</td><td>0.004</td><td>-3.02769928579535</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>10</th><td>0.68447</td><td>0.004</td><td>-2.9550692339638793</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>11</th><td>0.68447</td><td>0.005</td><td>-2.955049365503252</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>12</th><td>0.68373</td><td>0.005</td><td>-2.9507927393062925</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>13</th><td>0.68373</td><td>0.006</td><td>-2.950743887080411</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>14</th><td>0.68028</td><td>0.006</td><td>-2.931498602177074</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>15</th><td>0.68028</td><td>0.007</td><td>-2.931435660028978</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>16</th><td>0.6506799999999999</td><td>0.007</td><td>-2.7734494606815216</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>17</th><td>0.6506799999999999</td><td>0.008</td><td>-2.7732652640462256</td><td>false</td><td>-2.8739035651888574</td></tr><tr><th>18</th><td>0.60859</td><td>0.008</td><td>-2.553231097149636</td><td>true</td><td>-2.7444892712936144</td></tr><tr><th>19</th><td>0.60859</td><td>0.009</td><td>-2.5532203058185923</td><td>false</td><td>-2.7444892712936144</td></tr><tr><th>20</th><td>0.60563</td><td>0.009</td><td>-2.536933187354933</td><td>false</td><td>-2.7444892712936144</td></tr><tr><th>21</th><td>0.60563</td><td>0.01</td><td>-2.5369279619767133</td><td>false</td><td>-2.7444892712936144</td></tr><tr><th>22</th><td>0.59363</td><td>0.01</td><td>-2.47744186076765</td><td>false</td><td>-2.7444892712936144</td></tr><tr><th>23</th><td>0.59363</td><td>0.011</td><td>-2.477420592967947</td><td>false</td><td>-2.7444892712936144</td></tr><tr><th>24</th><td>0.56192</td><td>0.011</td><td>-2.3135827276046363</td><td>true</td><td>-2.622492312740559</td></tr><tr><th>25</th><td>0.56192</td><td>0.012</td><td>-2.3135798730768524</td><td>false</td><td>-2.622492312740559</td></tr><tr><th>26</th><td>0.54815</td><td>0.012</td><td>-2.2411423612327432</td><td>true</td><td>-1.6477384699325126</td></tr><tr><th>27</th><td>0.54815</td><td>0.013</td><td>-2.241121938275877</td><td>false</td><td>-1.6477384699325126</td></tr><tr><th>28</th><td>0.5473399999999999</td><td>0.013</td><td>-2.2373328971133386</td><td>false</td><td>-1.6477384699325126</td></tr><tr><th>29</th><td>0.5473399999999999</td><td>0.014</td><td>-2.2372946667468003</td><td>false</td><td>-1.6477384699325126</td></tr><tr><th>30</th><td>0.54616</td><td>0.014</td><td>-2.23085370683574</td><td>false</td><td>-1.6477384699325126</td></tr><tr><th>&vellip;</th><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td><td>&vellip;</td></tr></table>"
      ],
      "text/plain": [
       "1687x5 DataFrames.DataFrame\n",
       "│ Row  │ pfa     │ pmiss │ thres    │ chull │ llr      │\n",
       "┝━━━━━━┿━━━━━━━━━┿━━━━━━━┿━━━━━━━━━━┿━━━━━━━┿━━━━━━━━━━┥\n",
       "│ 1    │ 1.0     │ 0.0   │ -10.7113 │ true  │ -Inf     │\n",
       "│ 2    │ 0.964   │ 0.0   │ -5.57892 │ true  │ -4.72916 │\n",
       "│ 3    │ 0.964   │ 0.001 │ -5.57876 │ false │ -4.72916 │\n",
       "│ 4    │ 0.8508  │ 0.001 │ -4.07145 │ true  │ -4.71474 │\n",
       "│ 5    │ 0.8508  │ 0.002 │ -4.07142 │ false │ -4.71474 │\n",
       "│ 6    │ 0.73922 │ 0.002 │ -3.28102 │ true  │ -3.74005 │\n",
       "│ 7    │ 0.73922 │ 0.003 │ -3.28091 │ false │ -3.74005 │\n",
       "│ 8    │ 0.69712 │ 0.003 │ -3.02784 │ true  │ -2.8739  │\n",
       "│ 9    │ 0.69712 │ 0.004 │ -3.0277  │ false │ -2.8739  │\n",
       "│ 10   │ 0.68447 │ 0.004 │ -2.95507 │ false │ -2.8739  │\n",
       "│ 11   │ 0.68447 │ 0.005 │ -2.95505 │ false │ -2.8739  │\n",
       "⋮\n",
       "│ 1676 │ 7.0e-5  │ 0.978 │ 5.91568  │ false │ 5.54344  │\n",
       "│ 1677 │ 7.0e-5  │ 0.982 │ 6.01045  │ false │ 5.54344  │\n",
       "│ 1678 │ 5.0e-5  │ 0.982 │ 6.05454  │ false │ 5.54344  │\n",
       "│ 1679 │ 5.0e-5  │ 0.984 │ 6.13288  │ false │ 5.54344  │\n",
       "│ 1680 │ 3.0e-5  │ 0.984 │ 6.15789  │ false │ 5.54344  │\n",
       "│ 1681 │ 3.0e-5  │ 0.985 │ 6.18196  │ false │ 5.54344  │\n",
       "│ 1682 │ 2.0e-5  │ 0.985 │ 6.21583  │ false │ 5.54344  │\n",
       "│ 1683 │ 2.0e-5  │ 0.987 │ 6.42813  │ false │ 5.54344  │\n",
       "│ 1684 │ 1.0e-5  │ 0.987 │ 6.45797  │ true  │ 6.68461  │\n",
       "│ 1685 │ 1.0e-5  │ 0.995 │ 6.98265  │ false │ 6.68461  │\n",
       "│ 1686 │ 0.0     │ 0.995 │ 7.13642  │ true  │ Inf      │\n",
       "│ 1687 │ 0.0     │ 1.0   │ NA       │ true  │ NA       │"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "using DataFrames\n",
    "DataFrame(r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.15763626251390433"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## accurate computation of the equal error rate, using the convex hull\n",
    "eerch(r)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "using Winston ## or perhaps another plotting package \n",
    "plot(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The axes of a ROC plot are named \"Probability of False Alarm\" (false positive rate) and \"Probability of Miss\" (false negative rate).  There are many names for these (see the `README.md`).  A note aoutb this way of plotting:\n",
    " \n",
    " - The verical axis (like the horizontal) is an _error_ rate, and not its complement, the _hit_ rate.  This means that a \"good\" ROC curve here goes towards the lower left corner, and not the upper left corner.  In literature one traditionally comes across the true positive rate vs. false positive rate, which is an \"upper-left\" style of ROC. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## The \"Detection Error Tradeoff\" plot, this should give a more/less straight line\n",
    "detplot(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A Detection Error Trade-off plot (DET plot) shows _the same_ information as the ROC plot above---but the scales are warped according to the inverse of the cumulative normal distribution.  This way of plotting has many advantages:\n",
    "\n",
    "- If the distributions of target and non-target scores are both Normal, then the DET-curve is a straight line.  In practice, many detection problems give rise to more-or-less straight DET curves, and this suggests that there exists a strictly increasing warping function that can make the score distributions (more) Normal. \n",
    "\n",
    "- Towards better performance (lower error rates), the resolution of the graph is higher.  This makes it more easy to have multiple systems / performance characteristics over a smaller or wider range of performance in the same graph, and still be able to tell these apart.\n",
    "\n",
    "- Conventionally, the ranges of the axes are chosen 0.1%--50%---and the plot area should _really_ be square.  This makes it possible to immediately assess the overall performance based on the absolute position of the line in the graph if you have seen more DET plots in your life.\n",
    "\n",
    "- The slope of the (straight) line corresponds to the ratio of the `σ` parameters of the underlying Normal score distributions, namely that of the non-target scores divided by that of the target scores.  Often, highly discriminative classifiers show very _flat_ curves, indicating that that target scores have a much larger variance than the non-target scores.  \n",
    "\n",
    "- The origin of this type of plot lies in psychophysics, where graph paper with lines according to this warping was referred to as _double probability paper_.  The diagonal $y=x$ in a DET plot corresponds linearly to a quantity known as $d'$ (d-prime) from psychophysics, ranging from 0 at 50% error to about 6 at 0.1% error. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.08052228999999997"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## compute the Area Under the ROC, should be close to 0.078\n",
    "auc(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Please note, that traditionally the AUC is the complement of this.  However, in this package all metrics are \"error\" and \"cost\" like, so low numbers always indicate better performance.  As a courtesy to all other research fields that work with two-class detectos, we have the convenience function `AUC()`, which---like `auc()`---allows for partial integration up to a certain value of `pfa` or `pmiss`. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.91947771\n",
      "0.058844110000000005\n",
      "0.7833900526315789\n"
     ]
    }
   ],
   "source": [
    "println(AUC(r))\n",
    "println(AUC(r, pfa=0.1, normalize=false)) ## Traditional AUC integrating pfa from 0 to 0.1\n",
    "println(AUC(r, pfa=0.1)) ## normalize partial AUC to range 0.5 (no discrimiation) to 1.0 (perfect discrimination)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ptar = 0.01, Cfa = 1, Cmiss = 10\n",
       " prior log-odds = -2.292534757140544\n",
       " effective prior odds = 0.10101010101010102\n",
       " effective prior = 0.09174311926605504\n"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## define a decision cost function by its parameter p_tar=0.01, Cfa=1, Cmiss=10 (NIST SRE 2008 setting)\n",
    "d = DCF(0.01, 1, 10)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Decision theory analyses the two types of error that can be made in terms of a cost function, weighting one type of error (say, a criminal that is not sentenced) differently from the other type of error (say, an innocent civilian in sentenced), and a prior for the target hypothesis (the prior that someone is guilty before assessing the evidence).  Theses parameters are called $p_{\\rm tar}$, $C_{\\rm fa}$ and $C_{\\rm miss}$ in this package.  Their joint influence to decision making can be nicely summarized in the _prior log-odds_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-2.292534757140544"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## `actual costs' using a threshold of scores at -plo(d) (minus prior log odds)\n",
    "plo(d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If the scores are interpretable as _calibrated log-likelihood-ratios_, then the optimal threshold should be at `-plo(DCF)`, the value of the dcf can be computed as:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07233010000000001"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dcf(tar, non, d=d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If you know the decision cost function you want to work with and it doesn't change, you can set it default:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Ptar = 0.01, Cfa = 1, Cmiss = 10\n",
       " prior log-odds = -2.292534757140544\n",
       " effective prior odds = 0.10101010101010102\n",
       " effective prior = 0.09174311926605504\n"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "setdcf(d=d)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07233010000000001"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dcf(tar, non)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Perhaps your data requires a different threshold, because the scores have not been calibrated.  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.1732981"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dcf(tar, non, thres=0.)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "A lot |worse threshold for this data and cost function, `thres = -2.29` performs better (has lower dcf).  What is the minimal value of the dcf that can be obtained if we vary the threshold?"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07157410000000002"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mindcf(tar, non, d=d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The _minimum_ dcf is the value of the decision cost function after choosing the threshold optimally, given the entire ROC is known.  In this case, the data were generated to be _well calibrated_, meaning that the difference between the actual dcf and the mininumum dcf is small. \n",
    "\n",
    "The `mindcf` is efficiently calculated by computing the ROC first, so if you have that lying around, you can use it in place of `tar, non` in most of the above functions:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.07157410000000002"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mindcf(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Please, note that it is also possible to specify multiple cost functions and store it as a DCF object.  For instance, if you want to scan the behaviour of the dcf when the prior varies:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "99-element Array{Float64,1}:\n",
       " 0.009493 \n",
       " 0.018154 \n",
       " 0.0262308\n",
       " 0.03364  \n",
       " 0.040773 \n",
       " 0.0469394\n",
       " 0.0528443\n",
       " 0.0587428\n",
       " 0.0646369\n",
       " 0.070531 \n",
       " 0.0758965\n",
       " 0.080628 \n",
       " 0.0853595\n",
       " ⋮        \n",
       " 0.076338 \n",
       " 0.0709765\n",
       " 0.065615 \n",
       " 0.0602535\n",
       " 0.054892 \n",
       " 0.0495305\n",
       " 0.0440354\n",
       " 0.037706 \n",
       " 0.0307648\n",
       " 0.0238236\n",
       " 0.0167444\n",
       " 0.0093722"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "d = DCF(collect(0.01:0.01:0.99), 1, 1)\n",
    "mindcf(r, d=d)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "So from this analysis, it seems that at higher and lower priors, the dcf vanishes.  This is true, because at priors close to 0 or 1, the decision can rely more and more on the prior alone, and less on the classifier.  It therefore is interesting to look at what the _normalized_ dcf is.  This is the dcf computed for the classifier scores divided by the dcf based on the prior alone.  In this case, "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "99-element Array{Float64,1}:\n",
       " 0.9493  \n",
       " 0.9077  \n",
       " 0.87436 \n",
       " 0.841   \n",
       " 0.81546 \n",
       " 0.782323\n",
       " 0.754919\n",
       " 0.734285\n",
       " 0.718188\n",
       " 0.70531 \n",
       " 0.689968\n",
       " 0.6719  \n",
       " 0.656612\n",
       " ⋮       \n",
       " 0.63615 \n",
       " 0.645241\n",
       " 0.65615 \n",
       " 0.669483\n",
       " 0.68615 \n",
       " 0.707579\n",
       " 0.733923\n",
       " 0.75412 \n",
       " 0.76912 \n",
       " 0.79412 \n",
       " 0.83722 \n",
       " 0.93722 "
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mindcf(r, d=d, norm=true)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This shows that the _utility_ of the classifier (how much decision costs can be improved) lies in the region of (effective) priors closer to `0.5`.\n",
    "\n",
    "Instead of the somewhat complicated cost function, which depends on a combination of three parameters $p_{\\rm tar}$, $C_{\\rm fa}$ and $C_{\\rm miss}$, we can analyze the classifier's performance in terms of the critical parameter, the prior-log-odds $\\zeta$\n",
    "\n",
    "$$\\zeta = \\log\\bigl(\\dfrac{p_{\\rm tar}}{1-p_{\\rm tar}} \\dfrac{C_{\\rm miss}}{C_{\\rm fa}}\\bigr) $$\n",
    "   \n",
    "such a function is the Bayes Error Rate $E_B$\n",
    "\n",
    "$$E_B = p_{\\rm eff} \\ p_{\\rm miss} + (1-p_{\\rm eff}) \\ p_{\\rm fa}$$\n",
    "\n",
    "where $p_{\\rm eff}$ is the _effective_ prior (a cost-weighted prior, related to $\\zeta$), and $p_{\\rm fa}$ and $p_{\\rm miss}$ are the false alarm and miss rate computed by thresholding the scores `tar` and `non` at the optimal Bayes threshold $-\\zeta$. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.06651028927562345"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ber(tar, non, -2.29)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## now scan the Bayes error rate (similar to the dcf above) for a range of prior log odds, and plot\n",
    "## This is known as the Applied Probability of Error plot\n",
    "apeplot(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The red curve corresponds to the _actual_ Bayes Error Rate, given the classifier's scores and the `plo` parameter, the green curve corresponds to the _minimum_ Bayes Error Rate.  This minimum Bayes Error is obtained, for each value of `plo` by shifting the scores until the Bayes Error Rate is minimum.  In this case, because scores were generated as log-likelihood ratios, this minimum is more-or-less equal to the actual `ber`.  The black dotted line is the `ber` of the trivial classifier, that bases the decision on the prior alone (i.e., always decides `true` if `lpo>0`, and `false` otherwise). \n",
    "\n",
    "You may appreciate this, by considering scrores that are just twice as big---when we plot the APE plot, the Bayes Error is higher than the minimum value---this is an example of _mis-calibratred_ log-likelihood-ratio scores. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 25,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "r2 = roc(2tar, 2non)\n",
    "apeplot(r2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "For `abs(lpo)>2.5`, the classifier's log-likelihood-ratio scores are so much off, that Bayes decisions are taken that lead to a _higher_ error than the trivial classifier!\n",
    "\n",
    "This whole curve of calibration performance as a function of prior can be summarized as proportional to the integral under the red curve, a quantity known as the \"Cost of the log-likelihood-ratio\", `cllr`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.6340853728577864"
      ]
     },
     "execution_count": 26,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cllr(2tar, 2non)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "In a similar way, the area under the green curve can be computed, and this is a summary of the _discrimination_ performance of the classifier, in the same units (which happen to be \"bits\") as `cllr`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.5103042431991219"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mincllr(2tar, 2non)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Another way of viewing the same calibration-over-effective-prior analysis, but that focuses on the utility of the classifier over the trivial classifier, is to show the normalized Bayes error rate:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nbeplot(r)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Again, green and red are minimum and actual normalized Bayes error rates.  The two dashed/dotted curves correspond to the contribution of the false positives and false negatives tot the total normalized error rate.  The `plo` score is chosen asymmetric, because there often are many more non-target trials than target trials, and hence the accuracy of the metric is better.  \n",
    "\n",
    "Finally, a last graph in this workbook, a plot that show the relation between the actual scores and the optimally calibrated scores (corresponding to the minimum-curves in `nbe` and `ber`).  For well-calibrated log-likelihood-ratio scores this should be a straight line of unit slope.  Let's see what happens for our over-confident llr scores:\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "collapsed": false
   },
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "Winston.FramedPlot(...)"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "llrplot(r2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Mmm.  There still is some work to be done in scaling the graphs.  More to come. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Julia 0.4.5",
   "language": "julia",
   "name": "julia-0.4"
  },
  "language_info": {
   "file_extension": ".jl",
   "mimetype": "application/julia",
   "name": "julia",
   "version": "0.4.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
